import pandas as pd
import os


'''
处理退货表的货物代码
1.读取退货表，根据名称寻找对应的货物，获取到货物代码。
2.退货表新增一列记录对应的货物代码
'''

current_dir = os.path.dirname(os.path.abspath(__file__))
# 配置货物条码表路劲
schedule_template_path = os.path.join(current_dir, '货物条码统计(1).xlsx')
# 配置退货表路径
return_template_path = os.path.join(current_dir, 'C-PA-马虎飞新商城退货表10.16.xlsx')

# 根据商品名称获取货物代码
def get_product_code(product_name, schedule_df):
    # 名称可能存在部分字错误，需要一个判断两个文字相似度的函数
    product_row = schedule_df[schedule_df['*中文名称'] == product_name]
    if not product_row.empty:
        return product_row.iloc[0]['*货物代码']
    print(f'未找到商品名称为"{product_name}"的货物代码')
    return None


if __name__ == '__main__':
    # 读取发货表模板
    schedule_df= pd.read_excel(os.path.join(current_dir, schedule_template_path))
    # 读取退货表
    return_df= pd.read_excel(os.path.join(current_dir, return_template_path),skiprows=1)
    # 新增一列记录货物代码
    print(return_df)
    return_df['货物代码'] = return_df['货物名称'].apply(lambda x: get_product_code(x, schedule_df))
    
    # 保存更新后的退货表
    # return_df.to_excel(os.path.join(current_dir, return_template_path), index=False)